#include <iostream>
#include <cmath>

bool leap(int x)
{
	if (x % 4) return false;
	if (!(x % 100) && (x % 400)) return false;
	return true;
}

bool tri(int x)
{
	x *= 2;
	for (int i = 1; i <= x; i++) {
		if (i * (i + 1) > x) break;
		if (i * (i + 1) == x) return true;
	}
	return false;
}

bool hex(int x)
{
	for (int i = 1; i <= x; i++) {
		if (i * (2 * i - 1) > x) break;
		if (i * (2 * i - 1) == x) return true;
	}
	return false;
}

int main()
{
	for (int i = 2016; i <= 990528; i += 4) {
		if (leap(i) && tri(i) && hex(i))
			std::cout << i << '\n';
	}
}

